#ifndef __layer_consult__
#define __layer_consult__
/*
	Consult Layer

	This module defines the Csonult layer

	Use the function hooks to utilise all the advanved features

	This library should be hardware independant
*/

typedef void (*_consult_callback)(unsigned char * buffer, uint8_t size, uint32_t bitset);

// Initialisation Funcitons
void	consult_init			(_consult_callback consult_callback, uint32_t	bitset);
void	consult_enable			(uint8_t bEnable);
uint8_t		consult_get_status	(void);
uint8_t		consult_check_status(void);
void	consult_init_comm		(void);
void	consult_stop_comm		(void);
void	consult_init_bypass		(uint8_t FirstByte, uint8_t Length);

// Data Access Functions
void	consult_set_bytes_expected(uint8_t nCount);
void	consult_send_buffer		(uint8_t* buffer, u16 nBytes);

// Test Functions
uint8_t	consult_test_RxClk		(void);
uint8_t	consult_test_RxTx		(void);
#endif
